<%@page import="java.util.Vector"%>
<%@ page import="tmanager.*" import="java.sql.*" %>
<%@ include file="/WEB-INF/sql.jsp" %>

<%

    //Inizializzazione di variabili e recupero oggetti Studente e Professore dalla sessione
    boolean isStudente = true;
    Studente studenteSessione = (Studente) session.getAttribute("tmanager.studente");;
    Professore professoreSessione = (Professore) session.getAttribute("tmanager.professore");
    int idStudente = -1;
    int idProfessore = -1;
    String nomeCond = "";
    String cognCond = "";
    String[] parDisp = new String[2];
    parDisp[0] = "pari";
    parDisp[1] = "dispari";


    //Se l'utente loggato è uno studente, allora ottengo dal corrispondente oggetto l'id del relatore e la matricola dello studente
    if (studenteSessione != null) {
        idProfessore = studenteSessione.getRelatore();
        idStudente = studenteSessione.getMatricola();
    } else if (professoreSessione != null && session.getAttribute("tmanager.idStudente") != null) { //se, invece, è correttamente loggato il professore
        isStudente = false;
        idStudente = (Integer) session.getAttribute("tmanager.idStudente");
    } else { //arrivo qui se, invece, la sessione non è valida e reindirizzo l'utente alla home
        response.sendRedirect("../index.jsp");
        return;
    }
    
    //recupero i file in condivisione tra professore e studente
    Vector<tmanager.File> files = null;
    try {
        files = getFilesStudente(idStudente);
    } catch (SQLException e) {
        session.setAttribute("tmanager.erroreTitolo", "Errore durante il recupero file condivisi");
        session.setAttribute("tmanager.erroreMessaggio", "Siamo spiacenti, ma si è verificato un errore durante la connessione al database. La procedura di recupero dei file condivisi non è andata a buon fine. Riprovare in seguito.");
        response.sendRedirect("../errore.jsp");
        return;
    }
    
    try {
        if (isStudente) { //se l'utente loggato è uno studente, recupero dati del professore associato
            Professore pTemp = getProfessoreFromDB(idProfessore);
            nomeCond = pTemp.getNome();
            cognCond = pTemp.getCognome();
        } else { //altrimenti l'utente è un professore e recupero nome e cognome dello studente in esame
            Studente sTemp = getStudenteFromDB(sqlDatiStudente, idStudente);
            nomeCond = sTemp.getNome();
            cognCond = sTemp.getCognome();
        }
    } catch (SQLException e) {
        session.setAttribute("tmanager.erroreTitolo", "Errore durante il recupero dati utente");
        session.setAttribute("tmanager.erroreMessaggio", "Siamo spiacenti, ma si è verificato un errore durante la connessione al database. La procedura di recupero dei dati utente letti non ha avuto successo. Riprovare in seguito.");
        response.sendRedirect("../errore.jsp");
        return;
    }

    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", 0);
%>


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Visualizza file condivisi</title>
        <link rel="stylesheet" type="text/css" href="../CSS/defaultStyle.css" />
    </head>
    <body>
        <%@include file="../WEB-INF/jspf/header.jspf" %>
        
        <script type="text/javascript">
          
            function inizializza(){
                $("#HfileReport").addClass("paginaCorrente");
            };
            $(document).ready(inizializza);
        </script>
        
        <div id="corpo">
            <div id="corpoSx">
            <div class="riepilogoFile">
                <h2>File condivisi con <%=nomeCond%> <%=cognCond%>:</h2>
                <div>
                    <table border="1">
                        <thead>
                            <tr class="titoli">
                                <th>Proprietario</th>
                                <th>Nome</th>
                                <th>Dimensione</th>
                                <th>Data</th>
                            </tr>
                        </thead>
                        <tbody>
                            <%
                      int numFiles = Math.min(10, files.size());
                      if (numFiles == 0) {%>
                      <tr class="<%= parDisp[0]%>"><td colspan="6"><i>Non ci sono file condivisi!</i></td></tr>
                            <%} else {

                                for (int i = 0; i < files.size(); i++) {
                                    tmanager.File file = files.elementAt(i);
                            %>
                            <tr class="<%= parDisp[i % 2]%>">
                                <td><%= file.getProprietario()%></td>
                                <td><a href="../FileMng/fileDownload.jsp?idFile=<%= file.getTimestamp()%>"><img src="../Immagini/<%=file.getTipoFile()%>.png"/> <%= file.getNomeFile()%></a></td>
                                <td><%= Utility.formatSize(file.getSize())%></td>
                                <td><%= Utility.formatData(file.getTimestamp())%></td>
                            </tr>

                            <% }
                      }%>
                        </tbody>
                    </table>
                </div>
            </div>
            </div>
        </div>
        <hr/>
        <%@include file="../WEB-INF/jspf/footer.jspf" %>
    </body>
</html>
